home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / misc / amimsx12.lha / MSX_Emulator / MSX_v1.2.doc < prev    next >
Encoding:
Text File  |  1995-02-19  |  36.4 KB  |  921 lines

  1.  
  2.  
  3.               <=-------------------------------------------=>
  4.                 MSX Emulator v1.2 Beta - 1994/95 © RED Soft
  5.               <=-------------------------------------------=>
  6.                       (Versión Shareware, Febrero'95)
  7.                              (Tiempo limitado)
  8.  
  9.  
  10.                  Programación y sistemas de emulación por:
  11.  
  12.                    --=>  Juan Antonio Gómez Gálvez  <=--
  13.  
  14.  
  15.                   Emulación del PSG (Chip de sonido) por:
  16.  
  17.                          --=>  Sergi Martínez  <=--
  18.  
  19.  
  20.                                   <=----=>
  21.                                    Indice
  22.                                   <=----=>
  23.  
  24.                     1.- Introducción.
  25.                     2.- Instrucciones del menú.
  26.                     3.- Emulación hardware de Chips MSX.
  27.                     4.- Emulación de perifericos MSX.
  28.                     5.- Emulador de MSX2.
  29.                     6.- Datos técnicos.
  30.                     7.- Errores, incompatibilidades, etc...
  31.                     8.- Historia...
  32.                     9.- Como obtener la versión completa.
  33.                    10.- Copyrights.
  34.                    11.- Calidad de emulación.
  35.                    12.- Sobre el Autor...
  36.                    13.- Agradecimientos.
  37.  
  38.             <=------------------------------------------------=>
  39.  
  40.     1.- Introducción
  41.     ----------------
  42.  
  43.     Esta  versión  (TIEMPO LIMITADO) de este programa es FreeWare, puede ser
  44. copiada  libremente siempre y cuando no se haga uso de ella economicamente y
  45. consten todos los ficheros:
  46.  
  47.     MSX_v1.2            Emulador MSX de 256Kb de RAM. (memory mapper)
  48.     MSX_v1.2_(64Kb)     Emulador MSX de 64Kb de RAM. (más rápida)
  49.     MSX2_v1.7           Emulador de MSX2 en fase de desarrollo.
  50.     MSX_v1.2.doc        Este fichero.
  51.     y los .info         Iconos del Workbench.
  52.  
  53.  
  54.  
  55.     <*>  Requerimientos:
  56.     --------------------
  57.  
  58.     - Ordenador AMIGA con un Motorola 68020 o superior.
  59.     - ROM 2.0 o superior.
  60.     - Fichero  DEVS:mfm.device  © Commodore-Amiga inc.
  61.     - 1.3 Megas de memoria aproximadamente.
  62.  
  63.  
  64.     (No requiere chips AGA pero los aprobecha si se encuentran)
  65.     (mfm.device lo podeis encontrar en el disco de workbench. En DEVS:)
  66.  
  67.     En  la  versión  de  64Kb  en un 1200 sín Fast tarda unos 45 segundos en
  68. salir el MSX Disk-Basic.  No está bloqueado.
  69.  
  70.     La  versión  más  fiable  es  la  de  256Kb, La versión de 64Kb no emula
  71. correctamente  ciertas cosas para funcionar más rápido.  (Yo solo recomiendo
  72. usar la versión de 64Kb para juegos Japoneses de 16 o 32Kb)
  73.  
  74.     Este  programa está programado sobre AMIGA HARDWARE por lo tanto congela
  75. la  multitarea  de workbench, pero para la emulación de la disquetera uso el
  76. mfm.device  por lo tanto siempre que lee de disco activa la multitarea.  Por
  77. esto  recomiendo no tener cosas en multitarea cuando se usa el emulador para
  78. que  no  ocurran "cosas extrañas" El emulador además congela el input.device
  79. cuando usa el mfm.device.
  80.  
  81.     Mucha  gente dice que porqué el emulador no es multitarea con workbench,
  82. pues  es  muy  fácil,  para hacerlo totalmente compatible con workbench TODO
  83. tendría  que estar programado sobre librerias, lo cual haría que el emulador
  84. funcionase  más  de  5  veces más lento.  Que tú tienes un A4000/40, pues yo
  85. solo tengo un A1200, ¿ok?
  86.  
  87.     El  emulador  funciona un 18% más LENTO usando fast16bit (PCMCIA) en vez
  88. de Chip32bit, por lo tanto desconectad estas ampliaciones para una emulación
  89. más rápida.
  90.  
  91.     La  gente  que solo tenga 1Mb de Fast32bit es posible que el emulador os
  92. funcione  más  lento  de  lo normal porque no tiene suficiente memoria fast.
  93. Cuando pongais el emulador intendad liberar al máximo la memoria fast32bit.
  94.     Para  el  emulador de MSX1 de 256Kb se necesitan unas 900Kb de Fast para
  95. que funcione a la máxima velocidad.
  96.     Para el de MSX2 se necesita más de 1Mb de Fast.
  97.  
  98.     El  formateado  de discos MSX es el mismo que el de los PC (720Kb), pero
  99. con algunas desventajas.  Si formateais un disco para MSX con un PC o usando
  100. PCx  de Amiga, tendreis que instalar el sector 0 de MSX en el disco, esto lo
  101. podeis hacer poniendo el disco ya formateado en DF0:  y pulsando MSX Boot en
  102. el  la  pantalla  del menú.  Esto hay que hacerlo para que el emulador no se
  103. bloquee al arrancar desde el disco.
  104.  
  105.     Yo  NO  garantizo que este programa emule un MSX al completo, no me hago
  106. responsable  de  todo  lo  que  falle y no funcione correctamente.  No asumo
  107. ninguna responsabilidad en la perdida de información usando el emulador.
  108.  
  109.     La  velocidad  de  emulación  depende del equipo que tengamos.  Para que
  110. funcione a una velocidad como un MSX real se necesita como mínimo un MC68020
  111. a 14Mz con memoria Fast de 32-bit.
  112.  
  113.     Usuarios  de  Amiga  1200 sin Fast 32bit tened bastante paciencia cuando
  114. pongais cosas de MSX.
  115.  
  116.             <=------------------------------------------------=>
  117.  
  118.         Para contactar con el autor por cualquier motivo escribir a:
  119.  
  120.                            Juan Antonio Gómez Gálvez
  121.                            Apdo. 275
  122.                            08940 Cornellà de Llobregat
  123.                            BARCELONA  (Spain!)
  124.  
  125.                          T:  (93) 375-57-77 (Juan)
  126.  
  127.  
  128.               O por E-Mail mediante SERGI MARTINEZ escribir a:
  129.  
  130.                            FIDONET   2:343/133.13
  131.                            AMIGANET  39:190/2.13
  132.                            REDBSS    757:101/8.13
  133.                            VVISION   60:100/146.13
  134.  
  135.             <=------------------------------------------------=>
  136.  
  137.  
  138.     2.- Instrucciones del menú.
  139.     ---------------------------
  140.  
  141.     <*>  Disk Drivers:
  142.     ------------------
  143.  
  144.     Con  estos  gadgets  seleccionais  que disqueteras de Amiga serán usadas
  145. como A:  y B:  en el MSX, si se selecciona OFF pues no será emulada.  Si las
  146. dos disqueteras están a OFF no se emulará la ROM del MSX Disk Basic.
  147.  
  148.  
  149.     <*> Puerto de Joystick 2 de MSX:
  150.     --------------------------------
  151.  
  152.     El  Gadget  de  Port  0 ON es para que se emule el puerto 2 de MSX (1 en
  153. Amiga)  en  este  puerto está conectado el ratón de Amiga y muchos juegos de
  154. MSX  lo  leen como un Joystick y el control se hace ilógico.  Activarlo solo
  155. cuando vais a usar dos joysticks.
  156.  
  157.  
  158.     <*> MSX Boot:
  159.     -------------
  160.  
  161.     Al  pulsar este gadget os preguntará si instalar el boot-block de MSX en
  162. el disco que se encuentre en DF0:  esto hay que hacerlo en los discos de MSX
  163. para que no hayan problemas con el emulador.
  164.  
  165.  
  166.     <*> MSX.doc:
  167.     ------------
  168.  
  169.     Grabará en RAM:  los ficheros de docs del emulador.
  170.  
  171.  
  172.     <*> VDP Options:
  173.     ----------------
  174.  
  175.     -  Screen  es  para  seleccionar  el  modo  de pantalla PAL o NTSC.  (El
  176. emulador solo funciona con monitores PAL o los que lo soporten)
  177.  
  178.     -  Inter  es para fijar el número de interrupciones por segundo.  En MSX
  179. són  50  vblanks/s,  si  algún  juego  os  funciona lentísimo es posible que
  180. vajando este valor funcione un poquito mejor.
  181.  
  182.     -  Re-Int:  Muchisimos juegos usan re-interrupciones y gracias a esto he
  183. podido  hacer  que  la emulación sea mucho mejor.  Los Amigas con suficiente
  184. velocidad  que  lo pongan a 25 o 50 vblanks/s y emulará al 100% el MSX y los
  185. que no ponerlo a 10 vblanks/s para que algunos juegos funcionen más rápido.
  186.  
  187.     Nota:   Yo recomiendo no tocar nunca este valor, osea dejarlo siempre en
  188. 10  vblank/s  pero  si  el  juego que poneis funciona demasiado deprisa y la
  189. música  más  lenta  entonces  ponerlo  a 50 vblank/s.  (ponerlo siempre a 50
  190. vblanks/s puede ocasiar cuelgues en el MSX)
  191.  
  192.  
  193.     <*> Emulation Speed:
  194.     --------------------
  195.  
  196.     Solo  emulará  el  Z-80A  del  MSX el % de frame indicado.  (100%=Máxima
  197. velocidad) Si algún juego funciona super rápido bajar el slider.
  198.     En otras palabras... Un relentizador.
  199.     Nota:   Si  os pasais de listos y haceis que funcione super lentisimo os
  200. arriesgais a que el MSX se bloquee.
  201.  
  202.  
  203.     <*> Resto de Gadgets:
  204.     ---------------------
  205.  
  206.     - About:  Pues algunos datos sobre los creditos de este super programa!
  207.       -----
  208.     - Go: Para Hacer un Hard Reset del MSX.
  209.       --
  210.     - Continue:  Para continuar con la emulación cuando se pulsó HELP.
  211.       --------
  212.     - Exit:  Para quitar este magnífico programa!
  213.       ----
  214.  
  215.             <=------------------------------------------------=>
  216.  
  217.  
  218.     3.- Emulación hardware de Chips MSX.
  219.     ------------------------------------
  220.  
  221.     <*>  Z-80A  (Procesador)   Emulado un 98% del real.
  222.     ------------------------
  223.     Está correctamente emulado excepto:
  224.  
  225.     - Flags N y H no emulados.
  226.     - El registro SP puede escribir en ROM!
  227.     - El flag P solo es emulado con las instruciones OR, AND y XOR.
  228.  
  229.     Algunos  programas  no  funcionan  del  todo bien por algunos bugs de la
  230. emulación del Z-80A, estos bugs són dificilísimos de encontrar, por lo tanto
  231. tardaré muchísimo en arreglarlos.
  232.  
  233.     En  esta versión del emulador he corregido y mejorado mucho la emulación
  234. del  Z-80A.   Así  que muchas de las cosas que antes no funcionaban ahora sí
  235. funcionan. (Básicamente en la versión de 256Kb)
  236.  
  237.  
  238.     <*>  VDP  (Chip gráfico)   Emulado un 97% del real.
  239.     ------------------------
  240.     Está correctamente emulado teniendo en cuenta lo siguiente:
  241.  
  242.     - Sprits AMPLIADOS no emulados. (aparecerán sin ampliar)
  243.     - Permite hasta 8 sprits por línea en vez de 4.  (a causa de esto cuando
  244. en algunos juegos tiene que desaparecer algún sprit no lo hace)
  245.     - Modo gráfico 3 no emulado.  ¿Para que?  si nadie lo ha usado.
  246.  
  247.     La emulación del VDP es 100% idéntica a la de un MSX.
  248.  
  249.  
  250.     <*>  PSG  (Chip de sonido)   Está emulado un 99% del real.
  251.     --------------------------
  252.     Está correctamente emulado.
  253.  
  254.             <=------------------------------------------------=>
  255.  
  256.  
  257.     4.- Emulación de perifericos MSX.
  258.     ---------------------------------
  259.  
  260.     <*>  Puertos de Joystick.   Están emulados al 99%.
  261.     -------------------------
  262.     (EN  LA  VERSION SHAREWARE NO SON EMULADOS, SOLO SE PUEDE JUGAR A JUEGOS
  263. CON LOS CURSORES DEL TECLADO DEL AMIGA)
  264.  
  265.     Soportan  los  dos  disparos  del  MSX,  las  teclas  Amiga (Izquierda y
  266. derecha)   funcionan   como   segundo   disparo   de  los  Joystick  1  y  2
  267. respectivamente.
  268.     Permite el uso de Joypad con 2 o más botones.
  269.  
  270.     Botón 1 de Amiga = Botón 1 de MSX.
  271.     Botones 2 y 3 de Amiga = Botón 2 de MSX.
  272.  
  273.     Puerto A de Amiga = Puerto B de MSX.
  274.     Puerto B de Amiga = Puerto A de MSX.
  275.  
  276.  
  277.     <*>  Teclado.   Es emulado al 99%.
  278.     -------------
  279.     Perfectamente emulado.
  280.     Un  bug  en  los  teclados de los Amiga 1200 no permiten la pulsación de
  281. varias  teclas a la vez, para solucionar esto pulsar la tecla DEL de Amiga y
  282. despues  pulsar  las  teclas  (una a una) que quereis que el MSX se crea que
  283. están pulsadas.  Para desconectar volver a pulsar DEL.
  284.  
  285.     El teclado de Amiga está en Inglés, las teclas del MSX són las mismas en
  286. el Amiga excepto las siguientes:
  287.  
  288.                           AMIGA       MSX
  289.                          -------     -----
  290.                             F6       SELECT
  291.                             F7       STOP
  292.                             F8       HOME/CLS
  293.                             F9       INS
  294.                            F10       DEL
  295.                       ALT Izdo.      GRAPH
  296.                       ALT Decho.     CODE
  297.  
  298.                             DEL      Modo multitecla ON/OFF
  299.                             < >      CAPS LOCK
  300.                             ç Ç      Tecla muerta. (acentos)
  301.  
  302.                     Amiga Izda.      Botón 2 JoyStick 1
  303.                     Amiga Decha.     Botón 2 JoyStick 2
  304.  
  305.                            HELP      Salir al Menú del Workbench. (Exit)
  306.  
  307.  
  308.     <*>  Disquetera.  Es emulada al 99%.
  309.     ----------------
  310.     Soporta  discos  de  MSX  de  Doble  cara.  (2DD) (Se supone que soporta
  311. discos  de  simple cara, ya que el mfm.device se encarga de todo, pero yo no
  312. lo he podido probar porque no tengo ningún disco de MSX de simple cara.
  313.  
  314.     Siempre  que pongais un disco de MSX aseguraos que el sector 0 (boot) es
  315. de MSX porque sino el emulador se bloqueará.  (Cuando se intente arrancar el
  316. emulador con un disco de MSX) Lo podeis instalar desde el menú con la opción
  317. MSX boot.
  318.  
  319.     Para  poder  emular  las disqueteras de MSX correctamente he de matar la
  320. interrupción  que informa al Amiga que un disco ha sido removido, así que al
  321. salir  del  Emulador  la disquetera que hayamos usado no nos leerá discos de
  322. Amiga.  Lo siento.
  323.  
  324.  
  325.     <*>  Memoria.
  326.     -------------
  327.     Existen dos versiones para emular un MSX:
  328.     Se puede tener un MSX de 64Kb o 256Kb (memory mapper)
  329.  
  330.     No soporta Sub-Slots (&HFFFF) ya que solo los usan los MSX2.
  331.  
  332.     Cuando  os  aparezcan errores de out of memory es porque estais emulando
  333. dos  disqueteras,  para  solucionar esto no emular la disquetera B:, tambien
  334. pude ser porque estais emulando un MSX de menos de 256Kb.
  335.  
  336.     ¿Porque 2 versiones del emulador?
  337.  
  338.     Solo  tendría  que  existir  la versión de 256Kb, ya que está diseñada y
  339. programada teniendo en cuenta la paginación y los slots del MSX.
  340.  
  341.     La  versión  de  64Kb se aprobecha de ciertos "trucos" para funcionar un
  342. 15%  más  rápido,  pero estos trucos tienen sus limitaciones.  (La verdad es
  343. que esta versión es para la gente que tenga un 1200 sín fast32bit)
  344.  
  345.  
  346.     <*>  Puerto de Impresora.
  347.     --------------------------
  348.     No  enulado.   (la  verdad es que no tengo impresora, y sin ella es algo
  349. difícil ver si funciona su emulación!)
  350.  
  351.             <=------------------------------------------------=>
  352.  
  353.  
  354.     5.- Emulador de MSX2.
  355.     ---------------------
  356.  
  357.     Por  fin  tengo  mi aceleradora!!!  La Blizzard 1220, un MC68E020 a 28Mz
  358. con  4Mb de Fast, (al final vbSoft me la han conseguido super rápido!) bueno
  359. ya he empezado a intentar emular un MSX2 y la verdad es que es para volverse
  360. loco,  voy  a  tener  que  pre-calcular  un  cacho  pedazo de copper-list de
  361. cojones!!!  El MSX2 tiene un hardware bastante bueno!
  362.  
  363.     Bueno,  he incluido una versión super-Preview en este paquete, emula muy
  364. poco  de un MSX2, pero se pueden llegar a poner alunas cosas como Peach Up y
  365. cosas  así.  Solo para ver dibujos, olvidaos de jugar a algo.  Bueno esto es
  366. para  que  veais  que  ya  he  empezado  el emulador de MSX2 y con bastantes
  367. posibilidades  de  que  sea  tan  bueno  como  el  de MSX1 (con un Amiga con
  368. Fast32bit como mínimo)
  369.  
  370.     Emula un MSX1 al completo y del MSX2 solo los screens 5 y 7 sin sprites,
  371. las  funciones  Copy,Or,And,Xor,etc..   són  emuladas siempre como Copy.  El
  372. refesco  de  pantalla es de 1.3 segundos.  (En futuras versiones el refresco
  373. de pantalla será en tiempo real)
  374.  
  375.     Esta versión falla muchisimo...  pero todo se irá arreglando...
  376.  
  377.     Los  juegos  Mega-rom  de  MSX1  que necesitaban VRAM de 128Kb ahora los
  378. podreis poner, pero algunos no funcionaran porque he puesto la ROM del MSX1.
  379.  
  380.     La  ROM  del MSX2 funciona bien, pero como no he emulado la pila (la del
  381. reloj) todos los datos que lee de ella son erroneos y todo sale mal.  Cuando
  382. estas  en el MSX Basic 2.0 se ha de poner a mano todos los VDP de 2 y 4 y el
  383. width 40 y color 5,1,1.  Una vez hecho esto ya se ve todo bien.  Por esto he
  384. decidido poner la ROM del MSX1.
  385.  
  386.     Esta  versión  preview  tiene todas las desventajas que la Shareware del
  387. MSX1 ya que el MSX1 lo emula a la perfección.
  388.  
  389.     Bueno,  a partir de ahora me dedicaré al emulador de MSX2, el de MSX1 se
  390. queda  así,  solo arreglaré cosas del MSX1 cuando me las encuentre mal en el
  391. del MSX2.  (Z-80A)
  392.  
  393.     Versión  preview  de  MSX2  es  idéntica  a  la  de  MSX1  de 256Kb pero
  394. soportando algunas cosas de un VDP de los MSX2 y 128Kb de VRAM.
  395.  
  396.     Los  emuladores  de  MSX1  y  MSX2  los vendo por separado.  (El de MSX2
  397. cuando lo termine)
  398.  
  399.             <=------------------------------------------------=>
  400.  
  401.  
  402.     6.- Datos técnicos.
  403.     -------------------
  404.  
  405.     El  emulador  ha sido realizado en lenguaje ensamblador en un Amiga 1200
  406. con disquetera externa de 3.5" 2DD.
  407.  
  408.     A partir de la versión 0.97 con disco duro de 202Mb (¡Que pasada!)
  409.  
  410.     A partir de la versión 1.01 con un MC68020 a 28Mz con 4Mb de fast32bit.
  411.  
  412.     El "Conejillo de indias" ha sido mi MSX1 Toshiba HX-20 sin disquetera ¿?
  413.  
  414.     Este emulador lo empezé en Abril de 1994.
  415.  
  416.     Se  han  programado  2  códigos  sources para las versiones de 64Kb y de
  417. Memory mapper usando DEVPAC III (c) HiSoft.
  418.  
  419.     Con  el  proposito  de  hacer  un  emulador  lo  más rápido posible este
  420. programa  congela  la  multitarea  del  workbench  y  además está totalmente
  421. programado sobre AMIGA HARDWARE.  (excepto la disquetera y el menú claro!)
  422.  
  423.     Los ordenadores MSX los fabricaban muchas marcas y no todos eran iguales
  424. pero si "compatibles" el emulador es 100% idéntico a los siguientes modelos:
  425.  
  426.     - Sony Hitbit 201P
  427.     - Philips VG-8020        (no hace falta  POKE -1,170!)
  428.     - y otras marcas que no recuerdo...
  429.  
  430.     (Mi queridísimo MSX es un Toshiba HX-20!)
  431.  
  432.  
  433.     <*> Configuración de Slots del MSX emulado:
  434.     -------------------------------------------
  435.     Slot 0: MSX ROM
  436.     Slot 1: Zocalo cartuchos 1.
  437.     Slot 2: Zocalo cartuchos 2. (MSX Disk-Basic ROM)
  438.     Slot 3: 64Kb RAM  (256Kb con memory mapper)
  439.  
  440.  
  441.     <*> Sub-Slots no emulados.  (Dirección &HFFFF)
  442.     --------------------------
  443.  
  444.     Los sub-slots no són emulados ya que solo los usan los MSX2.
  445.  
  446.  
  447.     <*> Emulación en los Amigas:
  448.     ----------------------------
  449.     He  aquí  una tabla con los segundos que tardan los siguientes programas
  450. de MSX en las dos versiones del emulador:
  451.  
  452.     (Si  alguien  tiene un Amiga y en la tabla no aparecen sus resultados le
  453. agradecería que me los enviase)
  454.  
  455.     * PRG 1:
  456.                 For I=0 to 10000:Next
  457.     * PRG 2:
  458.                 10 Screen 2
  459.                 20 Circle (100,100),80,15
  460.                 30 Line (0,0)-(255,191),15,B
  461.                 40 Paint (100,100),15
  462.                 50 Goto 50
  463.  
  464.                                     * Memory mapper / 64Kb RAM:
  465.                                     ---------------------------
  466.              Equipo                 PRG 1      PRG 2         %
  467.     -------------------------      -------    -------    ---------
  468.     - MSX real:                      17s        9s         100%
  469.     - AMIGA 1200/20                44s/32s    24s/18s     37%/51%
  470.     - AMIGA 1200/20+Fast32bit      22s/17s    11s/9s      79%/100%
  471.     - AMIGA 1200/20+Fast16bit      60s/       33s/        28%/
  472.     - AMIGA 1200/20 28Mz.          12s/9s      6s/4s     146%/197%
  473.     - AMIGA 1200/30 28Mz.             /9s
  474.     - AMIGA 1200/30 50Mz.
  475.     - AMIGA  500/30 50Mz.
  476.     - AMIGA 3000/30 25Mz.
  477.     - AMIGA 4000/30 33Mz.          12s/9s      5s/4s     161%/197%
  478.  
  479. Nota:  Estos números pueden variar según el programa que pongamos de MSX.
  480.  
  481.             <=------------------------------------------------=>
  482.  
  483.  
  484.     7.- Errores, incompatibilidades, etc...
  485.     ---------------------------------------
  486.  
  487.     Siempre  que  se  habla de un emulador siempre se piensa en ¿lo emulará?
  488. si lo emula, todo perfecto, y si no, automaticamente es culpa del emulador.
  489.  
  490.     En  esta  versión  del  emulador claro que quedan algunos bugs, pero són
  491. bugs  muy  dificiles  de  encontrar.   Yo  de vez en cuando revisaré algunas
  492. instrucciones  de  Z-80A  para  encontrar  errores,  pero  esto  me  llevará
  493. muchísimo  tiempo.  según tenga cosas arregladas iré sacando actualizaciones
  494. del  emulador.  (el source del MSX emulator es ENORME)
  495.  
  496.     En la versión 1.2 he arreglado y mejorado bastante el Z-80A.
  497.  
  498.     Pero no todo són bugs del emulador, os pueden pasar estas otras cosas:
  499.  
  500.     El MSX, al igual que los incompatibles PC, lo fabricaban muchas empresas
  501. distintas,  esto hacia que muchos MSX no fueran identicos pero se supone que
  502. si  compatibles,  bueno  a  causa  de  esto  muchisimos programas de los que
  503. pongais  en  el  emulador os pueden fallar por este motivo.  Yo emulo el MSX
  504. más típico, el "que tenía todo el mundo o solía funcionar todo"
  505.  
  506.     Otro  tema  es  el  cassette, todo el mundo tenía un cassette para poner
  507. juegos, ya que la unidad de discos salió más tarde y además carísima.  Estos
  508. juegos de cinta (Originales o piratas) nunca tenían en cuenta la posibilidad
  509. de  tener  una  disquetera  conectada  y  que esta requería ciertas areas de
  510. memoria.   Por  lo  tanto  si  poneis  juegos  cargados de un MSX en cinta y
  511. posteriormente  grabados  a  disco  puede  que no funcionen.  Si esos juegos
  512. funcionan  en un MSX1 de 64Kb con Disquetera, pues el emulador los tiene que
  513. emular bien.
  514.  
  515.     Estos   mismos  juegos  de  cassette  había  gente  que  se  dedicaba  a
  516. "arreglarlos"  para  que  funcionasen  en  disco,  pero  ¿para  que  tipo de
  517. ordenador los arreglaban?, pues casi siempre para los MSX2.
  518.  
  519.     Los  MSX1  siempre  han  tenido  un  máximo  de 64Kb (excepto unos pocos
  520. modelos  limitados  con  128  o 256Kb) de este modo los juegos pirateados de
  521. cartuchos  megarom  (128Kb) necesitaban pues 128Kb mas 16 o 32Kb de RAM para
  522. funcionar,   por  este  motivo  estos  juegos  (formato  pirata)  nunca  han
  523. funcionado  en  MSX1  por  lo  tando  todos los retoques o modificaciones se
  524. hacian  para  un  MSX2  y estas modificaciones pueden hacer que ese juego no
  525. funcione  en  el emulador aunque este tenga 256Kb.  (aunque en la mayoria de
  526. las  veces  si  funcionan,  los  fallos suelen estar en el MSX-Basic, ya que
  527. usaban instrucciones que el MSX-basic 1.0 no soportaba, basta con retocar el
  528. basic y el juego funcionará)
  529.  
  530.     Uno  de  estos  fallos  que  seguro que os lo encontrais es que un juego
  531. magarom  de  MSX1 la versión pirata requiere más de 128Kb y como habian MSX2
  532. de  solo  128Kb  pues usaban sus VRAM que eran de 128Kb, de este modo podian
  533. funcionar,  pero  mi  emulador  solo tiene una VRAM de 16Kb y esto "peta" En
  534. futuras versiones intentaré emular un MSX1 de 128Kb de VRAM para que esto no
  535. ocurra, pero como ya digo mas adelante (porque no es tan fácil como parece)
  536.     Estos juegos funcionaran en la preview del emulador de MSX2.
  537.  
  538.     Juegos  de MSX1 españoles o otros extrangeros que solo salieron en cinta
  539. y para MSX de 64Kb la mayoria solo los arreglaron para un MSX2 en disco, por
  540. esto  muchos darán errores, pero la mayoria solo requerian más memoria y por
  541. esto  NO os funcionarán en la versión de 64Kb pero sí en la 256Kb, claro que
  542. más lentos...  ¿o tú tienes Fast32bit?
  543.  
  544.     Algunos juegos se cuelgan porque el Amiga emula un MSX más lento que uno
  545. real,  si ese mismo juego se pusiera en un MSX real a los Mz que lo emula el
  546. Amiga tambien se colgaría.  (en la mayoria de juegos esto se corrige ponieno
  547. Re-Int  a  16 vblank/s (o menos) en la pantalla del menú.  (el valor real de
  548. MSX es 50 vblank/s)
  549.  
  550.     Bueno,  tened en cuenta que solo he hablado de lo que falla, el emulador
  551. funciona  con una bardaridad de juegos y programas...  si alguno no funciona
  552. siempre  podeis  conseguir  otra  versión  distinta  de  otra  parte  que si
  553. funcione...
  554.  
  555.     Todo  lo que funcione en el emulador de MSX1 de PC ha de funcionar en el
  556. de Amiga (y mucho mejor claro!)
  557.     
  558.     Si  algo no os funciona en una versión del emulador, probarlo en la otra
  559. que puede que si funcione. (versiones de 64 y 256Kb)
  560.  
  561.             <=------------------------------------------------=>
  562.  
  563.  
  564.     8.- Historia...
  565.     ---------------
  566.  
  567.     - MSX Emulator v0.7:   (Abril de 1994)
  568.     --------------------
  569.  
  570.     Primera versión en fase de desarrollo.
  571.     Emulación super mediocre de Z-80A y VDP.
  572.  
  573.  
  574.     - MSX Emulator v0.8:
  575.     --------------------
  576.  
  577.     Instrucciones RRD y RLD corregidas.
  578.     Instrucción DAA emulada.
  579.     Corregidas rutinas de resultados de Flags.
  580.     Multitud de arreglos en Z-80A
  581.  
  582.  
  583.     - MSX Emulator v0.85:
  584.     ---------------------
  585.  
  586.     Aprobecha un 75% memoria Fast32bit.  (64Kb RAM MSX en Chip)
  587.     Emulación mediocre de re-interrupciones.
  588.     Rutina de sprits mejorada.
  589.     Optimizadas rutinas de resultados de Flags.
  590.     Arreglos en Z-80A
  591.  
  592.  
  593.     - MSX Emulator v0.9:
  594.     --------------------
  595.  
  596.     Aprobecha 100% memoria Fast32bit.
  597.     Compatible con VBR en Fast.
  598.     Arreglos y optimizaciones en Z-80A.
  599.     Emulación del PSG (Sonido) (sin terminar)
  600.  
  601.  
  602.     - MSX Emulator v0.95:   (Primera versión BETA)
  603.     ---------------------
  604.  
  605.     Ejecutable 100% y sin errores desde Workbench.
  606.     Z-80A Super optimizado.
  607.     Flag P 90% emulado.
  608.     Instrucción DAA corregida.
  609.     Emulación del VDP re-diseñado y re-programado. (Super Optimizado)
  610.     Aprobecha chips AGA si se encuentran.
  611.     Corregido volumen en el PSG.
  612.     Sistema de re-interrupciones terminado.
  613.     Versión de 256Kb (memory mapper) en desarrollo.
  614.  
  615.  
  616.     - MSX Emulator v0.97:   (Octubre de 1994)
  617.     ---------------------
  618.  
  619.     Emulación de canales de ruido en PSG.
  620.     Sistema de re-interrupciones corregido.
  621.     Arreglos en menú de Workbench.
  622.  
  623.  
  624.     (En  Diciembre  de  1994  tendría  que  haber terminado la v1.0 pero una
  625. apendicitis aguda me hizo no poder tocar el Amiga durante casi dos meses!)
  626.  
  627.     - MSX Emulator v1.01:   (Febrero de 1995)
  628.     ---------------------
  629.  
  630.     Corregida rutina de detección de AGA chipset para los Amiga 3000.
  631.     Emulación de Disqueteras de MSX.
  632.     Emulación de Z-80A terminada.
  633.     Emulación de VDP terminado.
  634.     Emulación de PSG terminado.
  635.     Versión de 256Kb (memory mapper) disponible.
  636.  
  637.     - MSX Emulator v1.2:
  638.     --------------------
  639.  
  640. * Version de 64Kb:
  641.     Emula correctamente el registro F (solo flags S,Z,P/V,C)
  642.  
  643. * Versión de 256Kb:
  644.     Emula correctamente el registro F (solo flags S,Z,P/V,C)
  645.     Desbordamientos de páginas totalmente soportados.
  646.     Interrupciones correctamente entre instrucciones.
  647.     Interrupciones no atenditas justo detras de una instrucción EI.
  648.     Emulación "chapuza" de Interrupciones de modo 2.
  649.     Emulador de MSX2 en desarrollo.
  650.  
  651.  
  652.     Supongo que aparecerán algunas versiones más con algunos bugs corregidos
  653. ya que un emulador NUNCA puede dejar de llamarse versión BETA.
  654.  
  655.             <=------------------------------------------------=>
  656.  
  657.  
  658.     9.- Como obtener la versión completa.
  659.     -------------------------------------
  660.  
  661.     Para obtener esta misma versión o la última que tenga pero sín limite de
  662. tiempo  y  con  todas las opciones del menú perfectamente emuladas os teneis
  663. que registrar.
  664.  
  665.     ¿Que es registrarse?
  666.  
  667.     Pues  muy  fácil, me teneis que escribir a la dirección de abajo con los
  668. siguientes datos:
  669.  
  670. <=---------------------------------------------------------------------=>
  671.  
  672.                            Registro MSX1 Emulator:
  673.                            -----------------------
  674.  
  675. - Nombre y apellidos: ___________________________________________________
  676.  
  677. - Dirección completa: ___________________________________________________
  678.  
  679. - Código Postal: ___________   - Población: _____________________________
  680.  
  681. - Equipo Amiga: _________________________________________________________
  682.  
  683. - Bugs, comentarios, Ideas, etc... ______________________________________
  684. <=---------------------------------------------------------------------=>
  685.  
  686.     <*>  Muy Importante:
  687.  
  688.     - SOLO PARA EL EMULADOR DE MSX1.
  689.     - Si algún dato de estos de arriba no viene NO valdrá vuestro registro.
  690.     - IN SPAIN ONLY.  (Solo para España)
  691.  
  692.  
  693.                    -=>  Para registrarse escribir a:
  694.                         ----------------------------
  695.  
  696.                             Juan Ant. Gómez Gálvez
  697.                             Apdo: 275
  698.                             08940 Cornellà de Llobregat
  699.                             BARCELONA
  700.  
  701.     Bien,  yo  lo  antes  posible  os enviaré la última versión del emulador
  702. contrareembolso  por  valor  de  2600  ptas.  (dos mil seiscientas pesetas).
  703. Osea  que  para  que  el  cartero  os  dé  la  carta le teneis que pagar esa
  704. cantidad.  (Toda clase de gastos incluido)
  705.  
  706.     Recivireis un sobre acolchado con un disco TDK o Nashua recien comprado!
  707. con la última versión del emulador REGISTRADO A VUESTRO NOMBRE Y DIRECCIÓN.
  708.  
  709.     ¿Que consigo registrandome?
  710.  
  711.     Todo el que se registre tendrá las siguientes ventajas:
  712.  
  713.     -  Esta  misma  versión (o mejor) del emulador MSX con tiempo ILIMITADO,
  714. usando  totalmente  los  JoySticks  de  MSX  y  todas  las opciones del menú
  715. emuladas.
  716.     -  Descuento  en  el  futuro  emulador  de  MSX2.   (si  lo termino) (El
  717. descuento consiste en lo que cueste el MSX2 Emulator menos 2600 ptas)
  718.     -  Tendrá  todas las actualizaciones TOTALMENTE gratis del emulador MSX1
  719. (excepto disco y gastos de envio) Tengo pensado hacer que funcione con disco
  720. duro, congelar el MSX y salvarlo a disco para continuar otro día desde donde
  721. estás en ese momento, si hay algún bug pues corregido, etc...
  722.  
  723.     Para la gente registrada que quiera actualizaciones, que me escriba cada
  724. 2  o  3  meses  con  un  disco y los sellos para el envio de vuelta, y yo le
  725. grabaré la última versión que tenga disponible.
  726.  
  727.  
  728.     ¿Como puedo perder mi registro?
  729.  
  730.     La versión del emulador que yo te envio está a tú nombre y dirección, si
  731. yo encuentro esa versión en alguna BBS o por otra parte pierdes tu registro,
  732. y por lo tanto todas las ventajas que este te dá.
  733.  
  734.     Nota:  atención listillos, aunque consigais retocar el ASCII del usuario
  735. registrado,  habrá un número codificado por el emulador que corresponde a la
  736. persona registrada, osea que sabré de quien se trata.
  737.  
  738.     Bueno,  yo os recomiendo que os junteis dos o más amigos y registreis el
  739. Emulador a nombre de uno solo, pagando entre todos, despues os haceis copias
  740. para  vosotros,  pero no seais TAN tontos de pasarselas a nadie.  (porque de
  741. lo contrario NO haré más actualizaciones y me olvidaré del MSX2 Emulator)
  742.  
  743.     Bien,  YO  SOLO EMPEZARÉ A ENVIAR EL EMULADOR A LA GENTE CUANDO tenga un
  744. mínimo  de unos 15 usuarios que se quieren registrar.  Por esto que si tarda
  745. un poco en llegar el emulador MSX no os asusteis.
  746.  
  747.     EL EMULADOR DE MSX NO ES DOMINIO PUBLICO, así que NO se puede vender por
  748. NADIE,  si  alguien  compra alguna versión que no sea a mí NO PODRÁ GOZAR DE
  749. LAS VENTAJAS DE REGISTRARSE.
  750.  
  751.     Bueno,  si  veo que el haber programado un emulador de MSX no ha servido
  752. de nada pues me olvido totalmente del MSX2 emulator. (lógino ¿no?)
  753.  
  754.     Antes de acabar esta sección aclarar lo siguiente:
  755.  
  756.     Yo  NO  garantizo que este programa emule un MSX al completo, no me hago
  757. responsable  de  todo  lo  que  falle y no funcione correctamente.  No asumo
  758. ninguna responsabilidad en la perdida de información usando el emulador.
  759.  
  760.     Todo  lo  que  NO  funcione  en  la  versión  Shareware,  seguramente no
  761. funcionará en la registrada.
  762.  
  763.             <=------------------------------------------------=>
  764.  
  765.  
  766.     10.- Copyrights
  767.     ---------------
  768.  
  769.     DEVPAC III es © HiSoft.
  770.     GadToolsBox es © Jaba Development.
  771.     mfm.device es © Commodore-Amiga inc.
  772.     Las ROMs del MSX són © Microsoft.
  773.     MSX Emulator para AMIGA es © RED Soft S.L.  (Barcelona) Spain.
  774.     ZXAM Spectrum Emulator es © WareSoft.
  775.  
  776.             <=------------------------------------------------=>
  777.  
  778.  
  779.     11.- Calidad de emulación.
  780.     --------------------------
  781.  
  782.     Este  emulador  es muy fiable, por el momento me funciona todo lo que he
  783. probado a la perfección.
  784.  
  785.     Excepto  un fallo en el juego Turbo Girl, los gráficos no salen del todo
  786. bien, estube mucho tiempo buscando este error, pero aún no lo he encontrado.
  787.  
  788.     La  calidad  de  emulación  gráfica  depende de como se ha programado el
  789. juego  que  emulamos.   En  este  aspecto  he de decir algo importante.  Los
  790. juegos  Japoneses  de  MSX aprobechan su Hardware muy bien, y los Juegos son
  791. emulados  de  una  forma  alucinante.   Pero la mayoría de Juegos que no són
  792. Japoneses són conversiones del Spectrum.  Esto significa que hacian el juego
  793. para  Spectrum  y despues retocaban unas cuantas rutinas para que funcionase
  794. en  MSX,  osea  que  al  final  teníamos  un  MSX emulando graficamente a un
  795. Spectrum.
  796.     El chip gráfico de MSX es muy superior al del Spectrum y por esto cuesta
  797. mucho más emularlo.
  798.     Si quereis jugar a un juego conversión de Spectrum os recomiendo usar el
  799. magnifico  emluador  ZXAM  Spectrum emulator de Toni Pomar.  Ya que es mejor
  800. emular un Spectrum que emular un MSX que a su vez "emula" un Spectrum.
  801.  
  802.             <=------------------------------------------------=>
  803.  
  804.  
  805.     12.- Sobre el autor...
  806.     ----------------------
  807.  
  808.     Ejem, ejem, ejem...  Me llamo Juan Antonio Gómez y tengo 20 años.
  809.     Empezé  en este loco mundo de los ordenadores con un MSX a los 12 añitos
  810. y   desde   entonces  no  he  parado  de  aprender  a  programar  en  MSX  y
  811. posteriormente en Amiga, digamos que era mi sistema de distracción...
  812.  
  813.     En  MSX  he  programado  muchas más cosas que en Amiga, desde copiones a
  814. Juegos,  bueno,  solo  un juego llamado TEDROS y que está muy bien.  (cuando
  815. consiga arreglarlo para disco lo pasaré con el emulador)
  816.  
  817.     En  Amiga empecé haciendo utilidades pero ví unas cuantas demos y decidí
  818. meterme  en el Hardware de Amiga y así pude hacer verdaderas maravillas.  He
  819. programado   algunas   intros,  slide-show,  menú  para  pack  de  intros  y
  820. actualmente  una trackmo llamada Génesis, siempre firmando como 007!  aunque
  821. yo  prefiero  usar  mi  nombre  ya  que  es una cosa que he hecho yo y no un
  822. anónimo.   Este  famoso emulador de MSX para Amiga, único en el mundo por el
  823. momento,  je!,je!,  lo  empezé  en  un  principio  para  poder  ver revistas
  824. japonesas  en disco para los MSX2, pero al poco tiempo vi que un emulador no
  825. es  un programa que se hace en un par de meses y encima con el equipo que yo
  826. tengo  funciona  lentísimo  y  programarlo  es  super pesado, entonces pensé
  827. sacrificarme  en  hacer  el  emulador  MSX  y  al  terminarlo  venderlo como
  828. SHAREWARE  para poder ampliar mi Amiga 1200 y así poder disfrutar de TODO MI
  829. DURISIMO trabajo.  Además de empezar el proyecto de MSX2 Emulator, claro que
  830. para que este funcione decentemente se necesitará un MC68020 a unos 28Mz con
  831. Fast32bit.
  832.  
  833.     Yo  programo por Hobby (No para hacerme rico vendiendo el emulador) pero
  834. para el desarrollo de este emulador se necesita muchísimo tiempo y además ya
  835. me  he  gastado más de 50.000 ptas para poder hacerlo (aceleradora), resulta
  836. que  ya  no  podía compilar por falta de memoria, y muchos fallos del MSX no
  837. sabía  si era un bug del Z-80A o porque no generaba la suficiente velocidad.
  838. Se  supone  que  el  emulador  lo  vendía  como  Shareware para comprarme la
  839. aceleradora, pero ahora tengo que amortizarlo como sea.
  840.  
  841.     Otra  cosa es que como solo existe un emulador de MSX, mucha gente haría
  842. negocio  con  él, mientras que yo me moriría de asco programandolo, por esto
  843. el precio es un poco elevado, si algien quiere hacer negocio, antes lo tengo
  844. que hacer yo.
  845.  
  846.     Si  alguien  lo  compra  que intente comprarlo a medias con amigos, y si
  847. eres  uno  que quiere hacer negocio con mi durisimo trabajo decirte que eres
  848. un capullo y pagaló todo tú solo.
  849.  
  850.     Bueno y esto es todo, nos vemos...
  851.  
  852.  
  853.             <=------------------------------------------------=>
  854.  
  855.     13.- Agradecimientos.
  856.     ---------------------
  857.  
  858.     Quiero  agradecer  a  las  siguientes personas todas sus ayudas sobre el
  859. desarrollo del emulador de MSX:
  860.  
  861.     -  Manuel Hiniesta por sus grandes ideas y ayudas chequeando todo lo que
  862. le  pedía en su MSX2, además de comentar el emulador en la 6ª Reunión de MSX
  863. en Barcelona.
  864.  
  865.     - Jordi Tirado por dejarme su libro "gordo de petete" de Z-80A.
  866.  
  867.     -  Sergi  Martínez por la emulación del PSG, todas sus ayudas intentando
  868. obtener información de la disquetera, instrucciones secretas del Z-80A, por
  869. subir el emulador a las BBS y sobre todo las grandes ayudas en el desarrollo
  870. del emulador.
  871.  
  872.     -  Ronald  Gorter  y Albert Siersema por la información de la disquetera
  873. del MSX.
  874.  
  875.     -  Alberto  Orante  por  los  iconos  del MSX para Workbench y todas las
  876. ayudas intentando buscar información sobre las disqueteras de MSX.
  877.  
  878.     -  Toni  Pomar  por pasarnos las instrucciones secretas del Z-80A.  (Ed:
  879. Solo nosotros sabemos lo duro que es hacer un emulador de Z-80A ¡eh!, suerte
  880. con tu Spectrum +3 128Kb emulator)
  881.  
  882.     - MEGA Soft por pasarme todos los juegos de MSX.
  883.  
  884.     -  Juanma  y  Rafa Romero por dejarme chequear el emulador en su A1200 +
  885. fast 32bit.
  886.  
  887.     -  Alex  Baqué (Nuku-Nuku/Future Brain) por dejarme chequear el emulador
  888. en su A4000/030 a 33Mz.
  889.  
  890.     - Miguel Angel (Puck/Unknowns) por chequearme el emulador con su A1200 +
  891. fast 16bits.  (PCMCIA)
  892.  
  893.  
  894.  <*=*>  Gracias a las siguientes personas por su gran soporte moral:
  895.  -------------------------------------------------------------------
  896.  
  897.     - Todo el grupo Mezcal.  (Leviathan, Frank-Einstein y Wolf Man)
  898.     -  José  García,  Raul  Ureña,  Ricardo  Martínez, Eduardo Martínez (muy
  899. buenos  tus  artículos de la MSX-Club), Javier López, Antonio Olivero y Jose
  900. Carlos de Albuquerque.
  901.  
  902.     Desde  estas  líneas quiero saludar a toda aquella gente que siguió fiel
  903. al  MSX,  al contrario que yo que me pasé al mundo Amiga, (yo tambien fuí un
  904. Anti-Amiga durante mucho tiempo...)
  905.  
  906.  
  907.  <*=*>  Programa dedicado a mis MEJORES amigos:  (No en orden especial)
  908.  ----------------------------------------------
  909.  
  910.     Manuel  Hiniesta,  Jordi  Tirado,  David  Rael,  José  Alvelo, Francisco
  911. Carretero,  Toni  Molar,  Isa Cabello, Bea Román, Loli Sánchez, Ana Cabello,
  912. Montse Mansilla y mi hermana pequeña Rafy.
  913.  
  914.     Y recordad siempre...  Motorola inside, Intel outside.
  915.     Adeu!
  916.             <=------------------------------------------------=>
  917.                                    Juan Antonio Gómez  -  Programador.
  918.  
  919.                                    //
  920.                        Gracias a \X/ Amiga por ser el mejor ordenador.
  921.